/**
 * 
 */
package com.oet.webservice.business;

/**
 * @author y140zhan
 *
 */


import java.util.List;
import javax.jws.WebParam;
import javax.jws.WebService;


import org.springframework.dao.DataAccessException;

import com.oet.persistence.entity.UploadedFile;
import com.oet.webservice.basic.OperationStatus;
import com.oet.webservice.basic.WebServiceListParams;


@WebService
public interface AccountMngrService {
    
	//Ydk Accounts Managements
    WebMngrAccountListResult getAllMngrAccounts();
    WebMngrAccountListResult getMngrAccounts(@WebParam(name = "listParams")
    		WebServiceListParams listRarams);
	
    WebMngrAccountListResult findMngrAccounts(@WebParam(name = "name")String name, @WebParam(name = "listParams")
    		WebServiceListParams listRarams);
//    YdkAccount getYdkAccountByName(@WebParam(name = "name")String name) ;
    WebServiceMngrAccount getMngrAccountById(@WebParam(name = "id")Long id);
    WebServiceMngrAccount getMngrAccountByName(@WebParam(name = "name")String name);
    OperationStatus storeMngrAccount(@WebParam(name = "mngrAccount")WebServiceMngrAccount instance);
    OperationStatus updateMngrAccount(@WebParam(name = "mngrAccount")WebServiceMngrAccount instance) ;
    OperationStatus deleteMngrAccount(@WebParam(name = "id")Long id);
    OperationStatus renewMngrAccountKeyPair(@WebParam(name = "id")Long id);
    OperationStatus deactiveMngrAccount(@WebParam(name = "id")Long id);
    OperationStatus assignMngrRole(@WebParam(name = "mngrRoleId") Long mngrRoleId, 
			@WebParam(name = "accountId")Long id);
	WebMngrRoleListResult getAllMngrRoles();
	WebMngrRoleListResult getAllMngrRolesEager();
	WebMngrRoleListResult getMngrRoles(@WebParam(name = "listParams")
    		WebServiceListParams listRarams);
	
	OperationStatus storeMngrRole(@WebParam(name = "mngrRoleId")WebServiceMngrRole instance);
    OperationStatus updateMngrRole(@WebParam(name = "mngrRoleId")WebServiceMngrRole instance) ;
    OperationStatus deleteMngrRole(@WebParam(name = "id")Long id);
    
    
	OperationStatus systemKeyPairBackup();
	OperationStatus systemKeyPairRenew();
	String backupDb();
	OperationStatus restoreDb(UploadedFile restoreDbFile);
	OperationStatus backupResources();
	
	
	
	
    
}
